In recent years, due to progress made in digital signal processing technology, advanced adaptive signal processing is being implemented in more and more fields such as radar signal processing, wireless communication, and wireless LANs. The introduction of adaptive signal processing to ultrasonic echo signal processing is also being reviewed in the field of ultrasonic diagnostic apparatuses and is expected to enhance resolution and contrast of echo images.
Adaptive signal processing is an advanced signal processing technique that involves reconfiguring and optimizing signal processing while learning characteristics of an input signal. Many methods have already been proposed such as a Minimum Mean Square Error (MMSE) method, a Maximum Signal-to-Noise (MSN) Ratio method, and a Constrained Minimization of Power (CMP) method. However, adaptive signal processing requires an enormous amount of calculations compared to ordinary signal processing. As such, realizing a small-sized and low-priced calculation unit capable of executing such an enormous amount of calculations at high speed has become a major issue towards practical application of adaptive signal processing.
Adaptive signal processing when using the CMP method in an ultrasonic diagnostic apparatus will now be described. In the CMP method, an input signal is optimized by retaining a signal component protected by a constraint as is and suppressing other interference wave components by minimizing output power. In doing so, using a complex covariance matrix A of sequentially-inputted ultrasonic received signals and a constraint vector C,CHA−1C  (1)is calculated. For the calculation term (1), normally, a calculation term (2)A−1C  (2)is calculated, and an inner product of a result thereof and the constraint vector C is calculated. The calculation term (2) includes an inverse matrix and is a major factor in the enormous amount of calculations required by adaptive signal processing. In the CMP method, a constrained minimized power value p is calculated as
                    p        =                  Log          ⁡                      [                          1                                                2                  ·                                      C                    H                                                  ⁢                                  A                                      -                    1                                                  ⁢                C                                      ]                                              (        3        )            and is assumed to be one pixel signal of an echo image.
Preventing degradation of pixel density of an ultrasonic echo image requires that the complex covariance matrix is created at a period of at least approximately 5 MHz and, accordingly, the constrained minimized power value p must also be calculated at a period of 5 MHz or more.
As described above, applying the CMP method to an ultrasonic diagnostic apparatus requires a small-sized and low-priced calculation unit capable of calculating the calculation term (2), which demands a large amount of calculations by its nature, at a period of 5 MHz or more or, in other words, in a short period of time equal to or less than 200 ns. This presents a major issue in practical application.
In a similar manner to the CMP method, in an optimization calculation process of many adaptive signal processing techniques such as the MMSE method and the MSN method, a calculation term (4)A−1y  (4)that is a product of an inverse matrix of the complex covariance matrix A and a complex vector y appears. In principle, a calculation of an inverse matrix requires a large number of calculations which is proportional to the cube of a size of the matrix, and when a complex number is involved, the number of calculations further increases.
In order to clarify the background of the present invention, a calculation method of the calculation term (4) will be described in concrete terms. The calculation term (4) can be calculated as a solution vector x of a simultaneous linear equation (5) having the complex covariance matrix A as a coefficient.Ax=y  (5)While the simultaneous linear equation can be solved in many ways, a general solution uses a combination of a QR decomposition process and a backward substitution process.
The matrix form of the calculation term (5) can be expressed by expanding into elements as
                                          [                                                                                a                    11                                                                                        a                    12                                                                                        a                    13                                                                    …                                                                      a                                          1                      ⁢                                                                                          ⁢                      n                                                                                                                                        a                    21                                                                                        a                    22                                                                                        a                    23                                                                    …                                                                      a                                          2                      ⁢                                                                                          ⁢                      n                                                                                                                                        a                    31                                                                                        a                    32                                                                                        a                    33                                                                    …                                                                      a                                          3                      ⁢                                                                                          ⁢                      n                                                                                                                    ⋮                                                  ⋮                                                  ⋮                                                  ⋱                                                  ⋮                                                                                                  a                                          n                      ⁢                                                                                          ⁢                      1                                                                                                            a                                          n                      ⁢                                                                                          ⁢                      2                                                                                                            a                                          n                      ⁢                                                                                          ⁢                      3                                                                                        …                                                                      a                                          n                      ⁢                                                                                          ⁢                      n                                                                                            ]                    ⁡                      [                                                                                x                    1                                                                                                                    x                    2                                                                                                                    x                    3                                                                                                ⋮                                                                                                  x                    n                                                                        ]                          =                              [                                                                                y                    1                                                                                                                    y                    2                                                                                                                    y                    3                                                                                                ⋮                                                                                                  y                    n                                                                        ]                    .                                    (        6        )            
A QR decomposition process refers to a calculation process in which both sides of the Expression (6) is multiplied by an appropriate matrix to transform a coefficient matrix into an upper triangular matrix as expressed by
                                          [                                                                                r                    11                                                                                        r                    12                                                                                        r                    13                                                                    …                                                                      r                                          1                      ⁢                                                                                          ⁢                      n                                                                                                                    0                                                                      r                    22                                                                                        r                    23                                                                    …                                                                      r                                          2                      ⁢                                                                                          ⁢                      n                                                                                                                    0                                                  0                                                                      r                    33                                                                    …                                                                      r                                          3                      ⁢                                                                                          ⁢                      n                                                                                                                    ⋮                                                  ⋮                                                  ⋮                                                  ⋱                                                  ⋮                                                                              0                                                  0                                                  0                                                  …                                                                      r                                          n                      ⁢                                                                                          ⁢                      n                                                                                            ]                    ⁡                      [                                                                                x                    1                                                                                                                    x                    2                                                                                                                    x                    3                                                                                                ⋮                                                                                                  x                    n                                                                        ]                          =                              [                                                                                b                    1                                                                                                                    b                    2                                                                                                                    b                    3                                                                                                ⋮                                                                                                  b                    n                                                                        ]                    .                                    (        7        )            
In addition, a backward substitution process refers to a process of calculating respective elements x1, x2, . . . , xn of the solution vector x according to a procedure expressed as follows from the simultaneous linear equation transformed into the form of Expression (7).
                                              ⁢                                            x              n                        =                                          1                                  r                  nn                                            ·                              b                n                                              ⁢                                          ⁢                                          ⁢                                    x                              n                -                1                                      =                                          1                                  r                                      n                    -                                          1                      ⁢                                                                                          ⁢                      n                                        -                    1                                                              ·                              (                                                      b                                          n                      -                      1                                                        -                                                            r                                              n                        -                                                  1                          ⁢                                                                                                          ⁢                          n                                                                                      ·                                          x                      n                                                                      )                                              ⁢                                          ⁢                                          ⁢                                    x                              n                -                2                                      =                                          1                                  r                                      n                    -                                          2                      ⁢                                                                                          ⁢                      n                                        -                    2                                                              ·                              (                                                      b                                          n                      -                      2                                                        -                                                            r                                              n                        -                                                  2                          ⁢                                                                                                          ⁢                          n                                                                                      ·                                          x                      n                                                        -                                                            r                                              n                        -                                                  2                          ⁢                                                                                                          ⁢                          n                                                -                        1                                                              ·                                          x                                              n                        -                        1                                                                                            )                                              ⁢                                          ⁢                                    x                              n                -                3                                      =                                          1                                  r                                      n                    -                                          3                      ⁢                                                                                          ⁢                      n                                        -                    3                                                              ·                              (                                                      b                                          n                      -                      3                                                        -                                                            r                                              n                        -                                                  3                          ⁢                                                                                                          ⁢                          n                                                                                      ·                                          x                      n                                                        -                                                            r                                              n                        -                                                  3                          ⁢                                                                                                          ⁢                          n                                                -                        1                                                              ·                                          x                                              n                        -                        1                                                                              -                                                            r                                              n                        -                                                  3                          ⁢                                                                                                          ⁢                          n                                                -                        2                                                              ·                                          x                                              n                        -                        2                                                                                            )                                              ⁢                                          ⁢          ⋮                                    (        8        )            
The calculation procedure is referred to as a backward substitution process because substitution is iteratively executed in sequence from a final element of the solution vector x. A comparison between amounts of calculation required by a QR decomposition process and a backward substitution process reveals that the calculations of a QR decomposition process overwhelmingly outnumber the calculations of a backward substitution process. Therefore, the issue regarding a calculation amount described earlier can be considered an issue of the enormousness of the calculation amount of a QR decomposition process.
As described above, a general method of solving the calculation term (4) that appears in adaptive signal processing combines a QR decomposition process with a backward substitution process. For example, Patent Literature 1 discloses a combination of a QR decomposition process and a backward substitution process using a Givens Rotation method. In addition, Patent Literature 2 discloses a QR decomposition process according to a Givens Rotation method and a QR decomposition circuit having a systolic array structure.
A QR decomposition circuit with a systolic array structure has a large circuit size if realized without modification. In consideration thereof, Non-Patent Literature 1 proposes reducing circuit size by iteratively using circuits comprising two types of basic cells that constitute a systolic array. Non-Patent Literature 1 also provides a report on creating an inversion matrix calculation circuit of a 4×4 matrix on an FPGA that is a simple LSI to achieve a calculating speed of approximately 8.1 μs.
However, as described above, applying adaptive signal processing to an ultrasonic diagnostic apparatus requires that a QR decomposition process and a backward substitution process be executed at a period of 5 MHz or more, which means that a calculating speed that is dozens of times higher than the calculating speed provided by the circuits described in NPL1 is required.    (PTL1) Japanese Patent Application Laid-open No. 2006-324710    (PTL2) Japanese Patent Application Laid-open No. 2009-135906